/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * VistaPrincipal.java
 *
 * Created on 11-nov-2009, 12:47:22
 */
package vistas;

import controladores.ControladorPrincipal;
import dialogos.DialogoAcercaDe;
import dialogos.DialogoAutenticacion;
import dialogos.DialogoDatosCliente;
import dialogos.DialogoModificarUsuario;
import dialogos.DialogoValoresMetodoAdapMPF;
import dialogos.DialogoValoresMetodologia;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JProgressBar;
import org.jvnet.substance.SubstanceLookAndFeel;
import org.jvnet.substance.skin.MistAquaSkin;
import org.jvnet.substance.utils.SubstanceColorResource;
import pestañas.PanelPaso1;
import pestañas.PanelPaso2;
import pestañas.PanelPaso3;
import pestañas.PanelPaso4;
import utilidades.LeerArchivo;
import javax.help.HelpSet;
import javax.help.HelpBroker;
import java.net.URL;

/**
 *
 * @author Shidobu
 */
public class VistaPrincipal extends javax.swing.JFrame {

	private ControladorPrincipal controlador;
	private String usuarioActual;
	private String empresaActual;
	private String nombreClienteActual;

	/** Creates new form VistaPrincipal */
	public VistaPrincipal (ControladorPrincipal controlador) {
		this.controlador = controlador;
		initComponents ();
		try {
			SubstanceLookAndFeel.setSkin (new MistAquaSkin ());// skin look and feel

		} catch (Exception e) {
			//System.out.println ("No se cargo Look and feel");
                         JOptionPane.showMessageDialog(this,
                            "No se pudo cargar el skin de la aplicación",
                            "Error al iniciar la aplicación",
                            JOptionPane.ERROR_MESSAGE);
                         System.exit(0);

		}
		this.setLocationRelativeTo (null);

		panelPaso1.setVista (this);
		panelPaso1.setBackground (SubstanceColorResource.LIGHT_GRAY);
		panelPaso1.setBarraProgreso (jProgressBarPaso1);
		panelPaso2.setVista (this);
		panelPaso2.setBackground (SubstanceColorResource.LIGHT_GRAY);
		panelPaso2.setBarraProgreso (jProgressBarPaso2);
		panelPaso3.setVista (this);
		panelPaso3.setBackground (SubstanceColorResource.LIGHT_GRAY);
		panelPaso3.setBarraProgreso (jProgressBarPaso3);
		panelPaso4.setVista (this);
		panelPaso4.setBackground (SubstanceColorResource.LIGHT_GRAY);
		autenticacion ();
		preparaAyuda ();
		this.setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE);

	}

	public void autenticacion () {
		DialogoAutenticacion dialogoAutenticacion = new DialogoAutenticacion (this, true);
		dialogoAutenticacion.setVisible (true);
		this.jLabelNombreUsuario.setText (dialogoAutenticacion.getNombre ());
		usuarioActual = dialogoAutenticacion.getNombre ();
	}

	public void preparaAyuda () {
		try {
			// Carga el fichero de ayuda
			File fichero = new File ("ayuda_set.hs");
			URL hsURL = fichero.toURI ().toURL ();

			// Crea el HelpSet
			HelpSet helpset = new HelpSet (getClass ().getClassLoader (), hsURL);
			HelpBroker hb = helpset.createHelpBroker ();

			hb.enableHelpOnButton (jMenuItemFAQ, "inicio", helpset);
			hb.enableHelpKey (this.getContentPane (), "inicio", helpset);
		} catch (Exception e) {
			e.printStackTrace ();
		}
	}

	public void cambiarNombre (String nombre) {
		this.jLabelNombreUsuario.setText (nombre);
	}

	public JProgressBar getJProgressBarPaso1 () {
		return jProgressBarPaso1;
	}

	public JProgressBar getJProgressBarPaso2 () {
		return jProgressBarPaso2;
	}

	public JProgressBar getJProgressBarPaso3 () {
		return jProgressBarPaso3;
	}

	public PanelPaso1 getPanelPaso1 () {
		return panelPaso1;
	}

	public void setPanelPaso1 (PanelPaso1 panelPaso1) {
		this.panelPaso1 = panelPaso1;
	}

	public PanelPaso2 getPanelPaso2 () {
		return panelPaso2;
	}

	public void setPanelPaso2 (PanelPaso2 panelPaso2) {
		this.panelPaso2 = panelPaso2;
	}

	public PanelPaso3 getPanelPaso3 () {
		return panelPaso3;
	}

	public void setPanelPaso3 (PanelPaso3 panelPaso3) {
		this.panelPaso3 = panelPaso3;
	}

	public PanelPaso4 getPanelPaso4 () {
		return panelPaso4;
	}

	public void setPanelPaso4 (PanelPaso4 panelPaso4) {
		this.panelPaso4 = panelPaso4;
	}

	public String getEmpresa () {
		return empresaActual;
	}

	public void setEmpresa (String empresa) {
		this.empresaActual = empresa;
	}

	public String getNombreCliente () {
		return nombreClienteActual;
	}

	public void setNombreCliente (String cliente) {
		this.nombreClienteActual = cliente;
	}

        void aumentoBarra (int panel , int valorPrevio , int valorActual)
        {

            valorPrevio = valorPrevio + 1;

            if (panel == 1)
            {
                
                    getPanelPaso1 ().barraProgreso.setValue(valorPrevio);
                
                return;
            }
            if (panel == 2)
            {
                getPanelPaso2 ().barraProgreso.setValue(valorPrevio);

                return;
            }
            if (panel == 3)
            {
                getPanelPaso3 ().barraProgreso.setValue(valorPrevio);

                return;
            }
        }

	/** This method is called from within the constructor to
	 * initialize the form.
	 * WARNING: Do NOT modify this code. The content of this method is
	 * always regenerated by the Form Editor.
	 */
	@SuppressWarnings ("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jTabbedPanePasos = new javax.swing.JTabbedPane();
        panelPaso1 = new pestañas.PanelPaso1();
        panelPaso2 = new pestañas.PanelPaso2();
        panelPaso3 = new pestañas.PanelPaso3();
        panelPaso4 = new pestañas.PanelPaso4();
        jLabelUsuarioActual = new javax.swing.JLabel();
        jLabelNombreUsuario = new javax.swing.JLabel();
        jLabelFechaUltimaVisita = new javax.swing.JLabel();
        jProgressBarPaso1 = new javax.swing.JProgressBar();
        jProgressBarPaso2 = new javax.swing.JProgressBar();
        jProgressBarPaso3 = new javax.swing.JProgressBar();
        jLabelPaso1 = new javax.swing.JLabel();
        jLabelPaso2 = new javax.swing.JLabel();
        jLabelPaso3 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jMenuBar = new javax.swing.JMenuBar();
        jMenuArchivo = new javax.swing.JMenu();
        jMenuItemNuevaCotizacion = new javax.swing.JMenuItem();
        jMenuItemAbrir = new javax.swing.JMenuItem();
        jMenuItemGuardar = new javax.swing.JMenuItem();
        jSeparatorCotizacionCuenta = new javax.swing.JSeparator();
        jMenuItemModificarCuenta = new javax.swing.JMenuItem();
        jMenuItemCerrarSesion = new javax.swing.JMenuItem();
        jSeparatorCuentaSalir = new javax.swing.JSeparator();
        jMenuItemSalir = new javax.swing.JMenuItem();
        jMenuEditar = new javax.swing.JMenu();
        jMenuItemLimpiarFormulario = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();
        jMenuMetodoAdaptado = new javax.swing.JMenu();
        jMenuItemModificarValores = new javax.swing.JMenuItem();
        jMenuPropiedades = new javax.swing.JMenu();
        jMenuItemDefinirValoresEstimacion = new javax.swing.JMenuItem();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenuAyuda = new javax.swing.JMenu();
        jMenuItemFAQ = new javax.swing.JMenuItem();
        jMenuItemAcercaDe = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
        setTitle("REUSA - Ventana principal");
        setMinimumSize(new java.awt.Dimension(620, 701));
        setName("VentanaPrincipal"); // NOI18N
        setResizable(false);

        jTabbedPanePasos.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jTabbedPanePasosStateChanged(evt);
            }
        });
        jTabbedPanePasos.addTab("Definición de criterios", panelPaso1);
        jTabbedPanePasos.addTab("Definición de costos empleados", panelPaso2);
        jTabbedPanePasos.addTab("Definición de valor HH", panelPaso3);
        jTabbedPanePasos.addTab("Cotización", panelPaso4);

        jLabelUsuarioActual.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabelUsuarioActual.setText("Usuario actual:");

        jLabelNombreUsuario.setFont(new java.awt.Font("Tahoma", 1, 14));
        jLabelNombreUsuario.setForeground(new java.awt.Color(51, 0, 204));

        jLabelFechaUltimaVisita.setFont(new java.awt.Font("Tahoma", 2, 12));

        jProgressBarPaso1.setMaximum(6);
        jProgressBarPaso1.setBorderPainted(false);
        jProgressBarPaso1.setMaximumSize(new java.awt.Dimension(147, 13));
        jProgressBarPaso1.setMinimumSize(new java.awt.Dimension(147, 13));
        jProgressBarPaso1.setPreferredSize(new java.awt.Dimension(147, 13));
        jProgressBarPaso1.setStringPainted(true);

        jProgressBarPaso2.setMaximum(14);
        jProgressBarPaso2.setBorderPainted(false);
        jProgressBarPaso2.setMaximumSize(new java.awt.Dimension(147, 13));
        jProgressBarPaso2.setMinimumSize(new java.awt.Dimension(147, 13));
        jProgressBarPaso2.setPreferredSize(new java.awt.Dimension(147, 13));
        jProgressBarPaso2.setStringPainted(true);

        jProgressBarPaso3.setMaximum(4);
        jProgressBarPaso3.setBorderPainted(false);
        jProgressBarPaso3.setMaximumSize(new java.awt.Dimension(147, 13));
        jProgressBarPaso3.setMinimumSize(new java.awt.Dimension(147, 13));
        jProgressBarPaso3.setPreferredSize(new java.awt.Dimension(147, 13));
        jProgressBarPaso3.setStringPainted(true);

        jLabelPaso1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabelPaso1.setText("Definición de criterios");

        jLabelPaso2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabelPaso2.setText("Definición de costos empleados");

        jLabelPaso3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabelPaso3.setText("Definición de valor HH");

        jButton1.setText("Limpiar Formulario");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jMenuArchivo.setText("Archivo");

        jMenuItemNuevaCotizacion.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItemNuevaCotizacion.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/add.png"))); // NOI18N
        jMenuItemNuevaCotizacion.setText("Nueva cotización");
        jMenuItemNuevaCotizacion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemNuevaCotizacionActionPerformed(evt);
            }
        });
        jMenuArchivo.add(jMenuItemNuevaCotizacion);

        jMenuItemAbrir.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItemAbrir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/open.png"))); // NOI18N
        jMenuItemAbrir.setText("Abrir");
        jMenuItemAbrir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemAbrirActionPerformed(evt);
            }
        });
        jMenuArchivo.add(jMenuItemAbrir);

        jMenuItemGuardar.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_G, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItemGuardar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/save.png"))); // NOI18N
        jMenuItemGuardar.setText("Guardar");
        jMenuItemGuardar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemGuardarActionPerformed(evt);
            }
        });
        jMenuArchivo.add(jMenuItemGuardar);
        jMenuArchivo.add(jSeparatorCotizacionCuenta);

        jMenuItemModificarCuenta.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItemModificarCuenta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/user_.png"))); // NOI18N
        jMenuItemModificarCuenta.setText("Modificar cuenta");
        jMenuItemModificarCuenta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemModificarCuentaActionPerformed(evt);
            }
        });
        jMenuArchivo.add(jMenuItemModificarCuenta);

        jMenuItemCerrarSesion.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/log_out.png"))); // NOI18N
        jMenuItemCerrarSesion.setText("Cerrar sesión");
        jMenuItemCerrarSesion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemCerrarSesionActionPerformed(evt);
            }
        });
        jMenuArchivo.add(jMenuItemCerrarSesion);
        jMenuArchivo.add(jSeparatorCuentaSalir);

        jMenuItemSalir.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItemSalir.setText("Salir");
        jMenuItemSalir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemSalirActionPerformed(evt);
            }
        });
        jMenuArchivo.add(jMenuItemSalir);

        jMenuBar.add(jMenuArchivo);

        jMenuEditar.setText("Editar");

        jMenuItemLimpiarFormulario.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItemLimpiarFormulario.setText("Limpiar todos los  formularios");
        jMenuItemLimpiarFormulario.setPreferredSize(new java.awt.Dimension(250, 22));
        jMenuItemLimpiarFormulario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemLimpiarFormularioActionPerformed(evt);
            }
        });
        jMenuEditar.add(jMenuItemLimpiarFormulario);

        jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.ALT_MASK | java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem2.setText("Limpiar formulario actual");
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        jMenuEditar.add(jMenuItem2);

        jMenuBar.add(jMenuEditar);

        jMenuMetodoAdaptado.setText("Método Adaptado");

        jMenuItemModificarValores.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_M, java.awt.event.InputEvent.ALT_MASK));
        jMenuItemModificarValores.setText("Modificar Valores");
        jMenuItemModificarValores.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemModificarValoresActionPerformed(evt);
            }
        });
        jMenuMetodoAdaptado.add(jMenuItemModificarValores);

        jMenuBar.add(jMenuMetodoAdaptado);

        jMenuPropiedades.setText("Propiedades");

        jMenuItemDefinirValoresEstimacion.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, java.awt.event.InputEvent.ALT_MASK));
        jMenuItemDefinirValoresEstimacion.setText("Definir Valores de Estimación");
        jMenuItemDefinirValoresEstimacion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemDefinirValoresEstimacionActionPerformed(evt);
            }
        });
        jMenuPropiedades.add(jMenuItemDefinirValoresEstimacion);

        jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem1.setText("Datos del Cliente");
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jMenuPropiedades.add(jMenuItem1);

        jMenuBar.add(jMenuPropiedades);

        jMenuAyuda.setText("Ayuda");

        jMenuItemFAQ.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/help.png"))); // NOI18N
        jMenuItemFAQ.setText("Preguntas frecuentes...");
        jMenuAyuda.add(jMenuItemFAQ);

        jMenuItemAcercaDe.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/information.png"))); // NOI18N
        jMenuItemAcercaDe.setText("Acerca de...");
        jMenuItemAcercaDe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemAcercaDeActionPerformed(evt);
            }
        });
        jMenuAyuda.add(jMenuItemAcercaDe);

        jMenuBar.add(jMenuAyuda);

        setJMenuBar(jMenuBar);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabelUsuarioActual)
                        .addGap(18, 18, 18)
                        .addComponent(jLabelNombreUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, 218, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(114, 114, 114)
                        .addComponent(jLabelFechaUltimaVisita, javax.swing.GroupLayout.DEFAULT_SIZE, 160, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(68, 68, 68)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabelPaso1, javax.swing.GroupLayout.DEFAULT_SIZE, 151, Short.MAX_VALUE)
                            .addComponent(jProgressBarPaso1, javax.swing.GroupLayout.DEFAULT_SIZE, 151, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jProgressBarPaso2, javax.swing.GroupLayout.DEFAULT_SIZE, 150, Short.MAX_VALUE)
                            .addComponent(jLabelPaso2, javax.swing.GroupLayout.DEFAULT_SIZE, 150, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabelPaso3, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE)
                            .addComponent(jProgressBarPaso3, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE))
                        .addGap(70, 70, 70))
                    .addComponent(jButton1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 157, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTabbedPanePasos, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 600, Short.MAX_VALUE))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabelUsuarioActual)
                    .addComponent(jLabelNombreUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelFechaUltimaVisita, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jTabbedPanePasos, javax.swing.GroupLayout.PREFERRED_SIZE, 538, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(2, 2, 2)
                .addComponent(jButton1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabelPaso1)
                    .addComponent(jLabelPaso3)
                    .addComponent(jLabelPaso2))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jProgressBarPaso3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jProgressBarPaso1, javax.swing.GroupLayout.DEFAULT_SIZE, 29, Short.MAX_VALUE)
                        .addComponent(jProgressBarPaso2, javax.swing.GroupLayout.DEFAULT_SIZE, 28, Short.MAX_VALUE)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

	private void jMenuItemCerrarSesionActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemCerrarSesionActionPerformed
		controlador.reiniciar ();
	}//GEN-LAST:event_jMenuItemCerrarSesionActionPerformed

	private void jMenuItemSalirActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemSalirActionPerformed
		controlador.salir ();
	}//GEN-LAST:event_jMenuItemSalirActionPerformed

	private void jMenuItemModificarCuentaActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemModificarCuentaActionPerformed
		DialogoModificarUsuario dmu = new DialogoModificarUsuario (this, true, usuarioActual);
		dmu.setVisible (true);
	}//GEN-LAST:event_jMenuItemModificarCuentaActionPerformed

        private void jMenuItemAbrirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemAbrirActionPerformed


                    int n = JOptionPane.showConfirmDialog(this,
                            "Desea guardar los cambios antes de continuar ?",
                            "Guardar antes de continuar",
                            JOptionPane.YES_NO_OPTION);

                     if (n == JOptionPane.YES_OPTION )
                     {
                        guardar();
                     }

			LeerArchivo leer_archivo = new LeerArchivo ();
			try {
				leer_archivo.abrir_archivo (usuarioActual, this);

			} catch (FileNotFoundException ex) {
				Logger.getLogger (VistaPrincipal.class.getName ()).log (Level.SEVERE, null, ex);
			} catch (IOException ex) {
				Logger.getLogger (VistaPrincipal.class.getName ()).log (Level.SEVERE, null, ex);
			}


			//elegir_archivo elegir;
			//elegir = new elegir_archivo();
			//elegir.setVisible(true);
        }//GEN-LAST:event_jMenuItemAbrirActionPerformed

        private void jMenuItemModificarValoresActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemModificarValoresActionPerformed
			DialogoValoresMetodoAdapMPF dialogoValores = new DialogoValoresMetodoAdapMPF (this, true);
			dialogoValores.setVisible (true);
        }//GEN-LAST:event_jMenuItemModificarValoresActionPerformed

		private void jMenuItemDefinirValoresEstimacionActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemDefinirValoresEstimacionActionPerformed
			DialogoValoresMetodologia dialogoValoresMetodologia = new DialogoValoresMetodologia (this, true);
			dialogoValoresMetodologia.setVisible (true);
		}//GEN-LAST:event_jMenuItemDefinirValoresEstimacionActionPerformed

	private void guardar () {
		String ruta;
		JFileChooser fileChooser = new JFileChooser ();
		int seleccion = fileChooser.showSaveDialog (this);
		if (seleccion == JFileChooser.APPROVE_OPTION) {
			File fichero = fileChooser.getSelectedFile ();
			ruta = fichero.getPath ();
			FileWriter archivo = null;
			PrintWriter pw = null;
			try {
				archivo = new FileWriter (ruta);
				pw = new PrintWriter (archivo);
				pw.println (usuarioActual);
				pw.println (panelPaso1.retornarTamaño ());
				pw.println (panelPaso1.retornarModulos ());
				pw.println (panelPaso1.retornarUsuarios ());
				pw.println (panelPaso1.retornarLugar ());
				pw.println (panelPaso1.retornarTiempos ());
				pw.println (panelPaso1.retornarPeriodo ());
				pw.println (panelPaso2.getValorUF ());
				pw.println (panelPaso2.retornaArriendo ());
				pw.println (panelPaso2.retornaGastosOP ());
				pw.println (panelPaso2.retornaGastosMA ());
				pw.println (panelPaso2.retornaInsumos ());
				pw.println (panelPaso2.retornaGastosB ());
				pw.println (panelPaso2.retornaGastosMov ());
				pw.println (panelPaso2.retornaGastosCoffe ());
				pw.println (panelPaso2.retornaGastosAlim ());
				pw.println (panelPaso2.retornaServExt ());
				pw.println (panelPaso2.retornaTotalGastos ());
				pw.println (panelPaso2.retornaFaseRep ());
				pw.println (panelPaso2.retornaCostos ());
				pw.println (panelPaso3.retornaPaso3 ());
				pw.close ();
			} catch (IOException ex) {
				Logger.getLogger (VistaPrincipal.class.getName ()).log (Level.SEVERE, null, ex);
			}
		}
	}

	private void limpiarPaso (int paso) {
		switch (paso) {
			case 0: {
				getPanelPaso1 ().setTamañoSoftwarePequeño (false);
				getPanelPaso1 ().setTamañoSoftwareMedio (false);
				getPanelPaso1 ().setTamañoSoftwareGrande (false);
				getPanelPaso1 ().setLugarEmpresa (false);
				getPanelPaso1 ().setLugarArrendado (false);
				getPanelPaso1 ().setNumeroModulosPequeños ("");
				getPanelPaso1 ().setNumeroModulosMedianos ("");
				getPanelPaso1 ().setHorasTamañoSoftware ("");
				getPanelPaso1 ().setHorasUsuariosEvaluadores ("");
				getPanelPaso1 ().setHorasLugarEvaluacion ("");
				getPanelPaso1 ().setUCE ("");
				getPanelPaso1 ().setUNCE ("");
				getPanelPaso1 ().setUEX ("");
				getPanelPaso1 ().setTotalUsuarios ("");
				getPanelPaso1 ().setDiasEvaluador ("");
				getPanelPaso1 ().setDiasEmpresa ("");
				getPanelPaso1 ().setFactorTiempoEntrega ("");
				getPanelPaso1 ().setEvaluador (false);
				getPanelPaso1 ().setEmpresa (false);
				jProgressBarPaso1.setValue (0);
				getPanelPaso3 ().setBarraProgreso (jProgressBarPaso1);
				break;
			}
			case 1: {
				getPanelPaso2 ().setValorUF ("");
				getPanelPaso2 ().setArriendoOficinaPesos ("");
				getPanelPaso2 ().setArriendoOficinaUF ("");
				getPanelPaso2 ().setGastosOperacionalesPesos ("");
				getPanelPaso2 ().setGastosOperacionalesUF ("");
				getPanelPaso2 ().setGastosMaterialApoyoPesos ("");
				getPanelPaso2 ().setGastosMaterialApoyoUF ("");
				getPanelPaso2 ().setInsumosPesos ("");
				getPanelPaso2 ().setInsumosUF ("");
				getPanelPaso2 ().setGastosBasicosPesos ("");
				getPanelPaso2 ().setGastosBasicosUF ("");
				getPanelPaso2 ().setGastosMovilizacionPesos ("");
				getPanelPaso2 ().setGastosMovilizacionUF ("");
				getPanelPaso2 ().setGastosCoffeBreaksPesos ("");
				getPanelPaso2 ().setGastosCoffeBreaksUF ("");
				getPanelPaso2 ().setGastosAlimentacionPesos ("");
				getPanelPaso2 ().setGastosAlimentacionUF ("");
				getPanelPaso2 ().setGastosServiciosExternosPesos ("");
				getPanelPaso2 ().setGastosServiciosExternosUF ("");
				getPanelPaso2 ().setGastosTotalPesos ("");
				getPanelPaso2 ().setGastosTotalUF ("");
				getPanelPaso2 ().setValorFactorCosto ("");
				getPanelPaso2 ().setTotalCostoPesos ("");
				getPanelPaso2 ().setTotalCostoUF ("");
				getPanelPaso2 ().setHorasReparacion ("");
				getPanelPaso2 ().setValorNumeroDesarrolladores ("");
				getPanelPaso2 ().setValorHHDesarrolladorPesos ("");
				getPanelPaso2 ().setValorHHDesarrolladorUF ("");
				jProgressBarPaso2.setValue (0);
				getPanelPaso3 ().setBarraProgreso (jProgressBarPaso2);
				break;
			}
			case 2: {
				getPanelPaso3 ().setEvaluadorExpertoValorHHPesos ("");
				getPanelPaso3 ().setEvaluadorExpertoValorHHUF ("");
				getPanelPaso3 ().setUsuarioEvaluadorValorHHPesos ("");
				getPanelPaso3 ().setUsuarioEvaluadorValorHHUF ("");
                                getPanelPaso3 ().setTecnicoTotalValorHHPesos("");
                                getPanelPaso3 ().setTecnicoTotalValorHHUF("");
                                getPanelPaso3 ().setHorasTecnico("");
                                getPanelPaso3 ().setTecnicoValorHHPesos("");
                                getPanelPaso3 ().setTecnicoValorHHUF("");
				jProgressBarPaso3.setValue (0);
				getPanelPaso3 ().setBarraProgreso (jProgressBarPaso3);
				break;
			}
			case 3: {
				getPanelPaso4 ().setEvaluadorExpertoValorHH ("");
				getPanelPaso4 ().setEvaluadorExpertoHorasEvaluacion ("");
				getPanelPaso4 ().setUsuarioEvaluadorValorHH ("");
				getPanelPaso4 ().setUsuarioEvaluadorHorasEvaluacion ("");
				getPanelPaso4 ().setValorOtrosCostos ("");
				getPanelPaso4 ().setTotalCostoEvaluacionPesos ("");
				getPanelPaso4 ().setTotalCostoEvaluacionUF ("");
				getPanelPaso4 ().setDesarrolladorValorHH ("");
				getPanelPaso4 ().setDesarrolladorHorasReparacion ("");
				getPanelPaso4 ().setTotalCostoReparacionPesos ("");
				getPanelPaso4 ().setTotalCostoReparacionUF ("");
				jProgressBarPaso1.setValue (0);
				getPanelPaso3 ().setBarraProgreso (jProgressBarPaso1);
				jProgressBarPaso2.setValue (0);
				getPanelPaso3 ().setBarraProgreso (jProgressBarPaso2);
				jProgressBarPaso3.setValue (0);
				getPanelPaso3 ().setBarraProgreso (jProgressBarPaso3);
				break;
			}
		}
	}

        //método que limpia todos los datos de todos los pasos de la aplicación
        private void limpiarTodosPasos () {

            //borrar datos panelPaso1
            getPanelPaso1 ().setTamañoSoftwarePequeño (false);
            getPanelPaso1 ().setTamañoSoftwareMedio (false);
            getPanelPaso1 ().setTamañoSoftwareGrande (false);
            getPanelPaso1 ().setLugarEmpresa (false);
            getPanelPaso1 ().setLugarArrendado (false);
            getPanelPaso1 ().setNumeroModulosPequeños ("");
            getPanelPaso1 ().setNumeroModulosMedianos ("");
            getPanelPaso1 ().setHorasTamañoSoftware ("");
            getPanelPaso1 ().setHorasUsuariosEvaluadores ("");
            getPanelPaso1 ().setHorasLugarEvaluacion ("");
            getPanelPaso1 ().setUCE ("");
            getPanelPaso1 ().setUNCE ("");
            getPanelPaso1 ().setUEX ("");
            getPanelPaso1 ().setTotalUsuarios ("");
            getPanelPaso1 ().setDiasEvaluador ("");
            getPanelPaso1 ().setDiasEmpresa ("");
            getPanelPaso1 ().setFactorTiempoEntrega ("");
            getPanelPaso1 ().setEvaluador (false);
            getPanelPaso1 ().setEmpresa (false);
            jProgressBarPaso1.setValue (0);
            getPanelPaso3 ().setBarraProgreso (jProgressBarPaso1);

            //borrar datos panelPaso2
            getPanelPaso2 ().setValorUF ("");
            getPanelPaso2 ().setArriendoOficinaPesos ("");
            getPanelPaso2 ().setArriendoOficinaUF ("");
            getPanelPaso2 ().setGastosOperacionalesPesos ("");
            getPanelPaso2 ().setGastosOperacionalesUF ("");
            getPanelPaso2 ().setGastosMaterialApoyoPesos ("");
            getPanelPaso2 ().setGastosMaterialApoyoUF ("");
            getPanelPaso2 ().setInsumosPesos ("");
            getPanelPaso2 ().setInsumosUF ("");
            getPanelPaso2 ().setGastosBasicosPesos ("");
            getPanelPaso2 ().setGastosBasicosUF ("");
            getPanelPaso2 ().setGastosMovilizacionPesos ("");
            getPanelPaso2 ().setGastosMovilizacionUF ("");
            getPanelPaso2 ().setGastosCoffeBreaksPesos ("");
            getPanelPaso2 ().setGastosCoffeBreaksUF ("");
            getPanelPaso2 ().setGastosAlimentacionPesos ("");
            getPanelPaso2 ().setGastosAlimentacionUF ("");
            getPanelPaso2 ().setGastosServiciosExternosPesos ("");
            getPanelPaso2 ().setGastosServiciosExternosUF ("");
            getPanelPaso2 ().setGastosTotalPesos ("");
            getPanelPaso2 ().setGastosTotalUF ("");
            getPanelPaso2 ().setValorFactorCosto ("");
            getPanelPaso2 ().setTotalCostoPesos ("");
            getPanelPaso2 ().setTotalCostoUF ("");
            getPanelPaso2 ().setHorasReparacion ("");
            getPanelPaso2 ().setValorNumeroDesarrolladores ("");
            getPanelPaso2 ().setValorHHDesarrolladorPesos ("");
            getPanelPaso2 ().setValorHHDesarrolladorUF ("");
            jProgressBarPaso2.setValue (0);
            getPanelPaso3 ().setBarraProgreso (jProgressBarPaso2);

            //borrar datos panelPaso3
            getPanelPaso3 ().setEvaluadorExpertoValorHHPesos ("");
            getPanelPaso3 ().setEvaluadorExpertoValorHHUF ("");
            getPanelPaso3 ().setUsuarioEvaluadorValorHHPesos ("");
            getPanelPaso3 ().setUsuarioEvaluadorValorHHUF ("");
            getPanelPaso3 ().setTecnicoTotalValorHHPesos("");
            getPanelPaso3 ().setTecnicoTotalValorHHUF("");
            getPanelPaso3 ().setHorasTecnico("");
            getPanelPaso3 ().setTecnicoValorHHPesos("");
            getPanelPaso3 ().setTecnicoValorHHUF("");
            jProgressBarPaso3.setValue (0);
            getPanelPaso3 ().setBarraProgreso (jProgressBarPaso3);

            //borrar datos panelPaso4
            getPanelPaso4 ().setEvaluadorExpertoValorHH ("");
            getPanelPaso4 ().setEvaluadorExpertoHorasEvaluacion ("");
            getPanelPaso4 ().setUsuarioEvaluadorValorHH ("");
            getPanelPaso4 ().setUsuarioEvaluadorHorasEvaluacion ("");
            getPanelPaso4 ().setValorOtrosCostos ("");
            getPanelPaso4 ().setTotalCostoEvaluacionPesos ("");
            getPanelPaso4 ().setTotalCostoEvaluacionUF ("");
            getPanelPaso4 ().setDesarrolladorValorHH ("");
            getPanelPaso4 ().setDesarrolladorHorasReparacion ("");
            getPanelPaso4 ().setTotalCostoReparacionPesos ("");
            getPanelPaso4 ().setTotalCostoReparacionUF ("");
            jProgressBarPaso1.setValue (0);
            getPanelPaso3 ().setBarraProgreso (jProgressBarPaso1);
            jProgressBarPaso2.setValue (0);
            getPanelPaso3 ().setBarraProgreso (jProgressBarPaso2);
            jProgressBarPaso3.setValue (0);
            getPanelPaso3 ().setBarraProgreso (jProgressBarPaso3);

	}

                private void jMenuItemGuardarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemGuardarActionPerformed
					guardar ();
                }//GEN-LAST:event_jMenuItemGuardarActionPerformed

                private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
					DialogoDatosCliente dialogoDatosCliente = new DialogoDatosCliente (this, true, usuarioActual);
					dialogoDatosCliente.setVisible (true);
                }//GEN-LAST:event_jMenuItem1ActionPerformed

                private void jMenuItemLimpiarFormularioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemLimpiarFormularioActionPerformed
					
					limpiarTodosPasos ();
                }//GEN-LAST:event_jMenuItemLimpiarFormularioActionPerformed

				private void jMenuItemAcercaDeActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemAcercaDeActionPerformed
					DialogoAcercaDe dAD = new DialogoAcercaDe (this, true);
					dAD.setVisible (true);
				}//GEN-LAST:event_jMenuItemAcercaDeActionPerformed

				private void jTabbedPanePasosStateChanged (javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jTabbedPanePasosStateChanged
					if (!(getJProgressBarPaso1 ().getValue () == getJProgressBarPaso1 ().getMaximum ()) ||
						!(getJProgressBarPaso2 ().getValue () == getJProgressBarPaso2 ().getMaximum ()) ||
						!(getJProgressBarPaso3 ().getValue () == getJProgressBarPaso3 ().getMaximum ())) {

						panelPaso4.setPlanillaLista (false);
						panelPaso4.mostrarPaneles ();
					} else {
						panelPaso4.calcularValores ();
					}
				}//GEN-LAST:event_jTabbedPanePasosStateChanged

                                //Se agregó éste botón paraimplementar la funcionalidad
                                //limpiar formulario.

                                private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
                                    // TODO add your handling code here:
                                    int paso;
					paso = jTabbedPanePasos.getSelectedIndex ();
                                        if(paso == 0 || paso == 1 || paso == 2)
                                        {
                                            limpiarPaso (paso);

                                        }else
                                        {
                                            limpiarTodosPasos();
                                        }
                                            //System.out.println("el paso es : "+paso);
                                }//GEN-LAST:event_jButton1ActionPerformed

                                private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
                                    // TODO add your handling code here:
                                        int paso;
					paso = jTabbedPanePasos.getSelectedIndex ();
                                        if(paso == 0 || paso == 1 || paso == 2)
                                        {
                                            limpiarPaso (paso);
                                            
                                        }else
                                        {
                                            limpiarTodosPasos();
                                        }
                                }//GEN-LAST:event_jMenuItem2ActionPerformed

	private void jMenuItemNuevaCotizacionActionPerformed (java.awt.event.ActionEvent evt) {

		int seleccion = JOptionPane.showOptionDialog (
			null,
			"Desea guardar la cotización actual",
			"Selector de opciones",
			JOptionPane.YES_NO_CANCEL_OPTION,
			JOptionPane.QUESTION_MESSAGE,
			null, // null para icono por defecto.
			new Object[] {"Guardar", "No Guardar", "Cancelar"}, // null para YES, NO y CANCEL
			"Cancelar");

		if (seleccion == 0) {
			guardar ();
		}

		if (seleccion == 0 || seleccion == 1) {
			for (int p = 0; p < 4; p++) {
				limpiarPaso (p);
			}
		}
	}
/////////////////////////Funciones de Cargar Archivo//////////////////////////

	public void cargarTamañoSoftware (String tamaño) {
		if (tamaño.equals ("-1")) {
			getPanelPaso1 ().setTamañoSoftwarePequeño (false);
			getPanelPaso1 ().setTamañoSoftwareMedio (false);
			getPanelPaso1 ().setTamañoSoftwareGrande (false);

		}
		if (tamaño.equals ("1")) {
			int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setTamañoSoftwarePequeño (true);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);
                        return;

		}
		if (tamaño.equals ("2")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setTamañoSoftwareMedio (true);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);
                        return;

		}
		if (tamaño.equals ("3")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setTamañoSoftwareGrande (true);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);
                        return;

		}
	}

	public void cargarNumeroModulos (String ModPeq, String ModMed) {
		if (ModPeq.equals ("-1")) {
			getPanelPaso1 ().setNumeroModulosPequeños ("");

		}
		if (!ModPeq.equals ("-1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setNumeroModulosPequeños (ModPeq);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);
		}
		if (ModMed.equals ("-1")) {
			getPanelPaso1 ().setNumeroModulosMedianos ("");
                        
		}
		if (!ModMed.equals ("-1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setNumeroModulosMedianos (ModMed);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);

		}
	}

	public void cargarUsuariosEvaluadores (String UCE, String UNCE, String UEX, String Total) {
		if (UCE.equals ("-1")) {
			getPanelPaso1 ().setUCE ("");

		}
		if (!UCE.equals ("-1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setUCE (UCE);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);

		}
		if (UNCE.equals ("-1")) {
			getPanelPaso1 ().setUNCE ("");

		}
		if (!UNCE.equals ("-1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setUNCE (UNCE);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);

		}
		if (UEX.equals ("-1")) {
			getPanelPaso1 ().setUEX ("");

		}
		if (!UEX.equals ("-1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setUEX (UEX);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);

		}
		if (Total.equals ("-1")) {
			getPanelPaso1 ().setTotalUsuarios ("");

		}
		if (!Total.equals ("-1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setTotalUsuarios (Total);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);

		}
	}

	public void cargarLugarEvaluacion (String lugar) {
		if (lugar.equals ("-1")) {
			getPanelPaso1 ().setLugarEmpresa (false);
			getPanelPaso1 ().setLugarArrendado (false);

		}
		if (lugar.equals ("0")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setLugarEmpresa (true);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);

		}
		if (lugar.equals ("1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setLugarArrendado (true);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);

		}
	}

	public void cargarTiempoEmplear (String HTamaño, String HUsuarios, String HLugar) {
		if (HTamaño.equals ("-1")) {
			getPanelPaso1 ().setHorasTamañoSoftware ("");

		}
		if (!HTamaño.equals ("-1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setHorasTamañoSoftware (HTamaño);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);

		}
		if (HUsuarios.equals ("-1")) {
			getPanelPaso1 ().setHorasUsuariosEvaluadores ("");

		}
		if (!HUsuarios.equals ("-1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setHorasUsuariosEvaluadores (HUsuarios);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);

		}
		if (HLugar.equals ("-1")) {
			getPanelPaso1 ().setHorasLugarEvaluacion ("");

		}
		if (!HLugar.equals ("-1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setHorasLugarEvaluacion (HLugar);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);

		}
	}

	public void cargarPeriodoEntrega (String Evaluador, String Dias1, String Dias2, String Factor) {
		if (Evaluador.equals ("-1")) {
			getPanelPaso1 ().setEvaluador (false);
			getPanelPaso1 ().setEmpresa (false);

		}

		if (Evaluador.equals ("0")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setEvaluador (true);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);

		}
		if (Evaluador.equals ("1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setEmpresa (true);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);

		}

		if (Dias1.equals ("-1")) {
			getPanelPaso1 ().setDiasEvaluador ("");
		}
		if (!Dias1.equals ("-1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setDiasEvaluador (Dias1);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);
		}
		if (Dias2.equals ("-1")) {
			getPanelPaso1 ().setDiasEmpresa ("");
		}
		if (!Dias2.equals ("-1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setDiasEmpresa (Dias2);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);
		}
		if (Factor.equals ("-1")) {
			getPanelPaso1 ().setFactorTiempoEntrega ("");
		}
		if (!Factor.equals ("-1")) {
			
                        int pre = getPanelPaso1().barraProgreso.getValue();
                        getPanelPaso1 ().setFactorTiempoEntrega (Factor);
                        int ac = getPanelPaso1().barraProgreso.getValue();
                        aumentoBarra(1,pre,ac);
		}
	}
//Terminar de arreglar la carga de datos
	public void cargarPaso3 (String valor1, String valor2, String valor3, String valor4,String valor5,String valor6,String valor7,String valor8, String valor9) {
		if (valor1.equals ("-1")) {
			getPanelPaso3 ().setEvaluadorExpertoValorHHPesos ("");
		}
		if (!valor1.equals ("-1")) {
			
                        int pre = getPanelPaso3().barraProgreso.getValue();
                        getPanelPaso3 ().setEvaluadorExpertoValorHHPesos (valor1);
                        int ac = getPanelPaso3().barraProgreso.getValue();
                        aumentoBarra(3,pre,ac);
		}
		if (valor2.equals ("-1")) {
			getPanelPaso3 ().setEvaluadorExpertoValorHHUF ("");
		}
		if (!valor2.equals ("-1")) {
			
                        int pre = getPanelPaso3().barraProgreso.getValue();
                        getPanelPaso3 ().setEvaluadorExpertoValorHHUF (valor2);
                        int ac = getPanelPaso3().barraProgreso.getValue();
                        aumentoBarra(3,pre,ac);
		}
		if (valor3.equals ("-1")) {
			getPanelPaso3 ().setUsuarioEvaluadorValorHHPesos ("");

		}
		if (!valor3.equals ("-1")) {
			
                        int pre = getPanelPaso3().barraProgreso.getValue();
                        getPanelPaso3 ().setUsuarioEvaluadorValorHHPesos (valor3);
                        int ac = getPanelPaso3().barraProgreso.getValue();
                        aumentoBarra(3,pre,ac);
		}
		if (valor4.equals ("-1")) {
			getPanelPaso3 ().setUsuarioEvaluadorValorHHUF ("");
		}
		if (!valor4.equals ("-1")) {
			
                        int pre = getPanelPaso3().barraProgreso.getValue();
                        getPanelPaso3 ().setUsuarioEvaluadorValorHHUF (valor4);
                        int ac = getPanelPaso3().barraProgreso.getValue();
                        aumentoBarra(3,pre,ac);
                        //falta leer los ultumos datos
		}//REPARAR
                if (valor5.equals ("-1")) {
			getPanelPaso3 ().setTecnicoValorHHPesos("");
		}
		if (!valor5.equals ("-1")) {

                        int pre = getPanelPaso3().barraProgreso.getValue();
                        getPanelPaso3 ().setTecnicoValorHHPesos(valor5);
                        int ac = getPanelPaso3().barraProgreso.getValue();
                        aumentoBarra(3,pre,ac);

		}
                if (valor6.equals ("-1")) {
			getPanelPaso3 ().setTecnicoValorHHUF("");
		}
		if (!valor6.equals ("-1")) {

                        int pre = getPanelPaso3().barraProgreso.getValue();
                        getPanelPaso3 ().setTecnicoValorHHUF(valor6);
                        int ac = getPanelPaso3().barraProgreso.getValue();
                        aumentoBarra(3,pre,ac);
                        //falta leer los ultumos datos
		}
                if (valor7.equals ("-1")) {
			getPanelPaso3 ().setHorasTecnico("");
		}
		if (!valor7.equals ("-1")) {

                        int pre = getPanelPaso3().barraProgreso.getValue();
                        getPanelPaso3 ().setHorasTecnico (valor7);
                        int ac = getPanelPaso3().barraProgreso.getValue();
                        aumentoBarra(3,pre,ac);
                        //falta leer los ultumos datos
		}
                if (valor8.equals ("-1")) {
			getPanelPaso3 ().setTecnicoTotalValorHHPesos("");
		}
		if (!valor8.equals ("-1")) {

                        int pre = getPanelPaso3().barraProgreso.getValue();
                        getPanelPaso3 ().setTecnicoTotalValorHHPesos(valor8);
                        int ac = getPanelPaso3().barraProgreso.getValue();
                        aumentoBarra(3,pre,ac);
                        //falta leer los ultumos datos
		}
                if (valor9.equals ("-1")) {
			getPanelPaso3 ().setTecnicoTotalValorHHUF("");
		}
		if (!valor9.equals ("-1")) {

                        int pre = getPanelPaso3().barraProgreso.getValue();
                        getPanelPaso3 ().setTecnicoTotalValorHHUF(valor8);
                        int ac = getPanelPaso3().barraProgreso.getValue();
                        aumentoBarra(3,pre,ac);
                        //falta leer los ultumos datos
		}
	}

	public void cargarPaso2Final (String factor, String pesos, String uf) {
		if (factor.equals ("-1")) {
			getPanelPaso2 ().setValorFactorCosto ("");
		}
		if (!factor.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setValorFactorCosto (factor);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (pesos.equals ("-1")) {
			getPanelPaso2 ().setTotalCostoPesos ("");
		}
		if (!pesos.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setTotalCostoPesos (pesos);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (uf.equals ("-1")) {
			getPanelPaso2 ().setTotalCostoUF ("");
		}
		if (!uf.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setTotalCostoUF (uf);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
	}

	public void cargarPaso2Reparacion (String horas, String numeroDesarrolladores, String pesos, String uf) {
		if (horas.equals ("-1")) {
			getPanelPaso2 ().setHorasReparacion ("");
		}
		if (!horas.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setHorasReparacion (horas);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (numeroDesarrolladores.equals ("-1")) {
			getPanelPaso2 ().setValorNumeroDesarrolladores ("");
		}
		if (!numeroDesarrolladores.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setValorNumeroDesarrolladores (numeroDesarrolladores);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (pesos.equals ("-1")) {
			getPanelPaso2 ().setValorHHDesarrolladorPesos ("");
		}
		if (!pesos.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setValorHHDesarrolladorPesos (pesos);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (uf.equals ("-1")) {
			getPanelPaso2 ().setValorHHDesarrolladorUF ("");
		}
		if (!uf.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setValorHHDesarrolladorUF (uf);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
	}

	public void cargarUF (String uf) {
		if (uf.equals ("-1")) {
			getPanelPaso2 ().setValorUF ("");
		}
		if (!uf.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setValorUF (uf);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
	}

	public void cargarGastosArriendo (String pesos, String uf) {
		if (pesos.equals ("-1")) {
			getPanelPaso2 ().setArriendoOficinaPesos ("");
		}
		if (!pesos.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setArriendoOficinaPesos (pesos);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (uf.equals ("-1")) {
			getPanelPaso2 ().setArriendoOficinaUF ("");
		}
		if (!uf.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setArriendoOficinaUF (uf);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
	}

	public void cargarGastosOperacionales (String pesos, String uf) {
		if (pesos.equals ("-1")) {
			getPanelPaso2 ().setGastosOperacionalesPesos ("");
		}
		if (!pesos.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosOperacionalesPesos (pesos);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (uf.equals ("-1")) {
			getPanelPaso2 ().setGastosOperacionalesUF ("");
		}
		if (!uf.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosOperacionalesUF (uf);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
	}

	public void cargarGastosMaterialApoyo (String pesos, String uf) {
		if (pesos.equals ("-1")) {
			getPanelPaso2 ().setGastosMaterialApoyoPesos ("");
		}
		if (!pesos.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosMaterialApoyoPesos (pesos);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (uf.equals ("-1")) {
			getPanelPaso2 ().setGastosMaterialApoyoUF ("");
		}
		if (!uf.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosMaterialApoyoUF (uf);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
	}

	public void cargarGastosInsumos (String pesos, String uf) {
		if (pesos.equals ("-1")) {
			getPanelPaso2 ().setInsumosPesos ("");
		}
		if (!pesos.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setInsumosPesos (pesos);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (uf.equals ("-1")) {
			getPanelPaso2 ().setInsumosUF ("");
		}
		if (!uf.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setInsumosUF (uf);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
	}

	public void cargarGastosBasicos (String pesos, String uf) {
		if (pesos.equals ("-1")) {
			getPanelPaso2 ().setGastosBasicosPesos ("");
		}
		if (!pesos.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosBasicosPesos (pesos);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (uf.equals ("-1")) {
			getPanelPaso2 ().setGastosBasicosUF ("");
		}
		if (!uf.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosBasicosUF (uf);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
	}

	public void cargarGastosTotal (String pesos, String uf) {
		if (pesos.equals ("-1")) {
			getPanelPaso2 ().setGastosTotalPesos ("");
		}
		if (!pesos.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosTotalPesos (pesos);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (uf.equals ("-1")) {
			getPanelPaso2 ().setGastosTotalUF ("");
		}
		if (!uf.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosTotalUF (uf);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
	}

	public void cargarGastosMovilizacion (String pesos, String uf) {
		if (pesos.equals ("-1")) {
			getPanelPaso2 ().setGastosMovilizacionPesos ("");
		}
		if (!pesos.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosMovilizacionPesos (pesos);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (uf.equals ("-1")) {
			getPanelPaso2 ().setGastosMovilizacionUF ("");
		}
		if (!uf.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosMovilizacionUF (uf);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
	}

	public void cargarGastosCoffeBreaks (String pesos, String uf) {
		if (pesos.equals ("-1")) {
			getPanelPaso2 ().setGastosCoffeBreaksPesos ("");
		}
		if (!pesos.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosCoffeBreaksPesos (pesos);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (uf.equals ("-1")) {
			getPanelPaso2 ().setGastosCoffeBreaksUF ("");
		}
		if (!uf.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosCoffeBreaksUF (uf);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
	}

	public void cargarGastosAlimentacion (String pesos, String uf) {
		if (pesos.equals ("-1")) {
			getPanelPaso2 ().setGastosAlimentacionPesos ("");
		}
		if (!pesos.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosAlimentacionPesos (pesos);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (uf.equals ("-1")) {
			getPanelPaso2 ().setGastosAlimentacionUF ("");
		}
		if (!uf.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosAlimentacionUF (uf);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
	}

	public void cargarGastosServicios (String pesos, String uf) {
		if (pesos.equals ("-1")) {
			getPanelPaso2 ().setGastosServiciosExternosPesos ("");
		}
		if (!pesos.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosServiciosExternosPesos (pesos);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
		if (uf.equals ("-1")) {
			getPanelPaso2 ().setGastosServiciosExternosUF ("");
		}
		if (!uf.equals ("-1")) {
			
                        int pre = getPanelPaso2().barraProgreso.getValue();
                        getPanelPaso2 ().setGastosServiciosExternosUF (uf);
                        int ac = getPanelPaso2().barraProgreso.getValue();
                        aumentoBarra(2,pre,ac);
		}
	}
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabelFechaUltimaVisita;
    private javax.swing.JLabel jLabelNombreUsuario;
    private javax.swing.JLabel jLabelPaso1;
    private javax.swing.JLabel jLabelPaso2;
    private javax.swing.JLabel jLabelPaso3;
    private javax.swing.JLabel jLabelUsuarioActual;
    private javax.swing.JMenu jMenuArchivo;
    private javax.swing.JMenu jMenuAyuda;
    private javax.swing.JMenuBar jMenuBar;
    private javax.swing.JMenu jMenuEditar;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItemAbrir;
    private javax.swing.JMenuItem jMenuItemAcercaDe;
    private javax.swing.JMenuItem jMenuItemCerrarSesion;
    private javax.swing.JMenuItem jMenuItemDefinirValoresEstimacion;
    private javax.swing.JMenuItem jMenuItemFAQ;
    private javax.swing.JMenuItem jMenuItemGuardar;
    private javax.swing.JMenuItem jMenuItemLimpiarFormulario;
    private javax.swing.JMenuItem jMenuItemModificarCuenta;
    private javax.swing.JMenuItem jMenuItemModificarValores;
    private javax.swing.JMenuItem jMenuItemNuevaCotizacion;
    private javax.swing.JMenuItem jMenuItemSalir;
    private javax.swing.JMenu jMenuMetodoAdaptado;
    private javax.swing.JMenu jMenuPropiedades;
    private javax.swing.JProgressBar jProgressBarPaso1;
    private javax.swing.JProgressBar jProgressBarPaso2;
    private javax.swing.JProgressBar jProgressBarPaso3;
    private javax.swing.JSeparator jSeparatorCotizacionCuenta;
    private javax.swing.JSeparator jSeparatorCuentaSalir;
    private javax.swing.JTabbedPane jTabbedPanePasos;
    private pestañas.PanelPaso1 panelPaso1;
    private pestañas.PanelPaso2 panelPaso2;
    private pestañas.PanelPaso3 panelPaso3;
    private pestañas.PanelPaso4 panelPaso4;
    // End of variables declaration//GEN-END:variables
}
